Avoid wrong sessionstore data to keep windows out of user sight
authorMike Hommey <mh@glandium.org>
Thu, 12 Nov 2009 16:18:31 +0000 (17:18 +0100)
committerMike Hommey <glandium@debian.org>
Tue, 13 Jan 2026 23:04:40 +0000 (08:04 +0900)
It happens that sessionstore can keep wrong information for the window
position or minimized state. Workaround this until the real bug is found
and fixed (probably in xulrunner).

Closes: #552426, #553453
Gbp-Pq: Topic debian-hacks
Gbp-Pq: Name Avoid-wrong-sessionstore-data-to-keep-windows-out-of.patch

browser/components/sessionstore/SessionStore.sys.mjs

index be029379c101a0105d4837136e064e6007b67c3e..9cd6ff04e0803f9ebd3f25028de76bfa24f1b3e2 100644 (file)
@@ -6589,7 +6589,7 @@ var SessionStoreInternal = {
         // _getWindowDimension.
         let desktopToCssScale =
           aWindow.desktopToDeviceScale / aWindow.devicePixelRatio;
-        aWindow.moveTo(aLeft * desktopToCssScale, aTop * desktopToCssScale);
+        aWindow.moveTo((aLeft < -aWidth) ? 0 : aLeft * desktopToCssScale, (aTop < -aHeight) ? 0 : aTop * desktopToCssScale);
       }
       if (
         aWidth &&
@@ -6617,9 +6617,8 @@ var SessionStoreInternal = {
           case "minimized":
             if (aSizeModeBeforeMinimized == "maximized") {
               aWindow.maximize();
+              break;
             }
-            aWindow.minimize();
-            break;
           case "normal":
             aWindow.restore();
             break;